package com.CST.entity.cb;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.alibaba.excel.annotation.ExcelProperty;
import org.springframework.format.annotation.DateTimeFormat;

/**
* @author ly
* @since 2021-12-08
*/
@ApiModel(value ="")
@Data
    @EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("BD_Account")
public class BdAccount implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    @TableField(value = "AccountCode")
    @ApiModelProperty(value = "会计科目编号")
    private String accountcode;

    @TableField(value = "AccountName")
    @ApiModelProperty(value = "会计科目名称")
    private String accountname;

    @TableField(value = "ParentCode")
    @ApiModelProperty(value = "层级")
    private String parentcode;

    @ApiModelProperty(value = "父节点")
    private String parentAccountCode;

    @TableField(value = "IsEnd")
    @ApiModelProperty(value = "是否为末级 0:不是 1:是")
    private Integer isend;

    @TableField(value = "Seq")
    @ApiModelProperty(value = "排序")
    private Integer seq;

    @TableField(value = "SysID")
    @ApiModelProperty(value = "系统来源ID对应枚举BD_SysSource")
    private String sysid;

    @TableField(value = "SysName")
    @ApiModelProperty(value = "系统来源名称")
    private String sysname;

    @ApiModelProperty(value = "是否有效")
    @ExcelProperty(value = "RowStatus")
    @TableField("RowStatus")
    private String rowStatus;


    @ApiModelProperty(value = "创建人")
    @ExcelProperty(value = "CreatedBy")
    @TableField("CreatedBy")
    private String createdBy;

    @ApiModelProperty(value = "创建时间",example = "2020-02-05 13:30:41")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @ExcelProperty(value = "CreatedOn")
    @TableField("CreatedOn")
    private String createdOn;

    @ApiModelProperty(value = "修改人")
    @ExcelProperty(value = "UpdatedBy")
    @TableField("UpdatedBy")
    private String updatedBy;


    @ApiModelProperty(value = "修改时间",example = "2020-02-05 13:30:41")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss", iso = DateTimeFormat.ISO.DATE_TIME)
    @ExcelProperty(value = "UpdatedOn")
    @TableField("UpdatedOn")
    private String updatedOn;

    @ExcelProperty(value = "Remark")
    @TableField("Remark")
    private String remark;

    @TableField(exist = false)
    private List<BdAccount> childrenList;

    @TableField(exist = false)
    private String deptCode;

    @TableField(exist = false)
    private String iYear;

    @TableField(exist = false)
    private String deptName;

    @TableField(exist = false)
    private String relationStatus;

    @TableField(exist = false)
    private Integer edId;

    @TableField(exist = false)
    private String edParentCode;

}
